perm filename FSMON.FAI[SS,SYS]1 blob
sn#360563 filedate 1978-06-09 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE FSMON
C00006 ENDMK
C⊗;
TITLE FSMON
A←1
B←2
C←3
D←4
E←5
S←6
T←10
TT←11
TTT←12
P←17
GO: RESET
MOVE P,[-100,,PDL-1]
SETZM ZERBEG
MOVE A,[ZERBEG,,ZERBEG+1]
BLT A,ZEREND-1
MOVE A,[100,,300*40+10] ;100 LOW PAGES, HI PAGES START AT 300
GETHI A,
JRST 4,.
PUSHJ P,SYMGET
MOVE A,ASYSTOP
MOVE A,400000(A)
MOVEM A,SYSTOP
MOVE A,AFSTOP
MOVE A,400000(A)
MOVEM A,FSTOP
SUB A,SYSTOP ;SIZE OF FS
MOVN A,A
HRLZ A,A
HRR A,SYSTOP
ADDI A,500000-300000 ;AOBJN POINTER TO FS
SETZB B,T
; MOVE D,SFGFS
; ADDI D,400001
; MOVE D,IMPRTR
; ADDI D,400001
COMMENT ⊗
MOVE D,MAKPDL
ADDI D,400001
LOOP: HLRZ C,(A)
CAIE C,(D)
LOOP1: AOBJN A,LOOP
JUMPGE A,DONE
ADDI B,1
HRRZ TT,(A)
HLRZ TT,500000-300000(TT)
TRZE TT,400000
ADDI T,(TT)
JRST LOOP1
⊗
HRRZ A,A ;START OF FS
MOVE TTT,[-200,,LIST-1]
SETZM LISTCT#
LOOP: MOVEI B,-500000+300000(A)
LDB B,[POINT 9,B,26]
LDB T,[POINT 9,404000(B),26] ;CORTAB ENTRY
CAIE T,105
JRST LOOP1
SKIPL T,(A)
JRST LOOP2
HLRZ TT,T
SUBI TT,400000
HLRZ S,500000-300000(T)
SUBI S,400000 ;SIZE
PUSHJ P,LISTIT
MOVEI A,500000-300000+1(T)
JRST LOOP3
LOOP2: HLRZ S,500000-300000(T)
ADDM S,FREE
MOVEI A,500000-300000+1(T)
JRST LOOP3
LOOP1: ADDI A,1000
LOOP3: MOVEI B,-500000+300000(A)
CAMGE B,FSTOP
JRST LOOP
MOVEI B,0
MOVN C,LISTCT
HRLZ C,C
LOOP4: ADD B,SIZE(C)
AOBJN C,LOOP4
DONE: JRST DDT↑
LISTIT: MOVN C,LISTCT
JUMPE C,LISTI1
HRLZ C,C
LISTI2: CAME TT,LIST(C)
AOBJN C,LISTI2
JUMPL C,LISTI3
LISTI1: AOS LISTCT
PUSH TTT,TT
MOVEI C,-LIST(TTT)
LISTI3: ADDM S,SIZE(C)
POPJ P,
SYMGET: MOVSI T,-NSYMS
SYMGT1: MOVE A,SYMNAM(T)
MOVEI B,0
MOVEI C,A
.SYML C,
JRST 4,.
MOVEM C,SYMVAL(T)
AOBJN T,SYMGT1
CPOPJ: POPJ P,
SYMNAM: RADIX50 0,SFGFS
RADIX50 0,SYSTOP
RADIX50 0,FSTOP
RADIX50 0,IMPRTR
RADIX50 0,MAKPDL
NSYMS←←.-SYMNAM
SYMVAL::
SFGFS: 0
ASYSTOP:0
AFSTOP: 0
IMPRTR: 0
MAKPDL: 0
SYSTOP: 0
FSTOP: 0
ZERBEG::
LIST: BLOCK 200
SIZE: BLOCK 200
FREE: 0
ZEREND::
PDL: BLOCK 100
END GO